package cn.com.fssg.platform.base.handler;

import cn.com.fssg.platform.modules.workflow.entity.ActexHiTaskLog;
import cn.com.fssg.platform.modules.workflow.vo.TaskVO;

import java.util.List;

public interface TaskVoHandler {
    /**
     * 流程提交前
     * @param task
     * @return
     */
    boolean beforeSubmit(TaskVO taskVO) throws Exception;

    /**
     * 流程提交后
     * @param oldTaskVo
     * @param newTaskVos
     * @return
     */
    boolean afterSubmit(TaskVO oldTaskVo, List<TaskVO> newTaskVos) throws Exception;



    /**
     * 任务回退前
     *
     * @param taskVO
     * @param preTaskLog
     * @return
     */
    boolean beforeReback(TaskVO taskVO, ActexHiTaskLog preTaskLog) throws Exception;

    /**
     * 任务回退后
     * @param oldTaskVO
     * @param newTaskVOs
     * @return
     */
    boolean afterReback(TaskVO oldTaskVO, List<TaskVO> newTaskVOs) throws Exception;
}
